#include<stdio.h>
#include<unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int main()
{
    umask(0);
    int fd=open("./text.txt",O_CREAT|O_WRONLY,0666);
    if(fd<0)
    {
        perror("open fail!\n");
        return 1;
    }
    int newfd=dup2(fd,1);
    if(newfd<0)
    {
        perror("dup2 fail!\n");
        return 2;
    }
    printf("hello world!\n");
    printf("hello world!\n");
    printf("hello world!\n");
    printf("hello world!\n");
    return 0;
}


/* #include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include<unistd.h>

int main()
{
    // 分别打印三个标准流的文件描述符
    printf("stdin: %d\n", stdin->_fileno);
    printf("stdout: %d\n", stdout->_fileno);
    printf("stderr: %d\n", stderr->_fileno);

    umask(0);
    int n = open("./text.txt", O_RDONLY |O_CREAT,0666);
    printf("open: %d\n",n);

    return 0;
} */